// 数据库链接池
let mysql = require("mysql");
let config = require("../config");
let pool = mysql.createPool(config.mysqlConfig);




//创建一个连接，超过connectionLimit，会调用下面 'enqueue' 等待队列
pool.on('connection',function(){
    console.log('创建一个mysql连接');
});

// 超过连接池连接数量 进入等待队列
pool.on('enqueue',function(){
    console.log('进入mysql等待队列');
});


/**
 * @description 数据库操作封装
 * @param {string} sql  数据库查询语句
 * @param {Array} data  查询数据库的数据
 */
let query = function(sql,data){

    return new Promise(function (resolve, reject) {

        pool.getConnection(function (err, connection) {
            if (!err) {

                // sql = "select * from user where userName = 'xlb' and pwd = 'pwd123'";
                connection.query(sql, data, function (error, result) {
                    // connection.query(sql,null,function(error,result){

                    if (!error) {
                        resolve(result)
                    } else {
                        console.log("数据库操作错误:"+error);
                        reject(error)
                    }
                    connection.release()
                })
            } else {
                console.log("请检查是否打开数据库或者数据库配置是否正确")
            }
        })
    })

}

module.exports = query
